﻿-- =============================================
-- Author:		JPGoncalves
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [A_ADD_TratamentoAposta]
	-- Add the parameters for the stored procedure here	
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
		BEGIN TRY		
			
			BEGIN TRAN
			
			DECLARE @IDCampeonato INT
			DECLARE @IDJornada INT
			DECLARE @NumJogo INT
			DECLARE @IDUtilizador INT		
			DECLARE @RowCount INT = 0

			DECLARE TratementoJornada CURSOR FOR
			
			SELECT
			JD.IDCampeonato,
			JD.IDJornada,
			JD.NumJogo,
			U.IDUtilizador
			FROM A_JornadaDescricao JD
			INNER JOIN A_UtilizadorCampeonato U
			ON JD.IDCampeonato = U.IDCampeonato And U.Activo = 1
			WHERE JD.Realizado = 0
			ORDER BY U.IDUtilizador ASC
			
			OPEN TratementoJornada 
			FETCH NEXT FROM TratementoJornada INTO @IDCampeonato,@IDJornada,@NumJogo,@IDUtilizador
			WHILE @@FETCH_STATUS = 0 
			BEGIN
			
			SELECT @RowCount = COUNT(*)
			FROM A_Apostas
			WHERE IDUtilizador = @IDUtilizador 
			AND IDJornada = @IDJornada 
			AND IDCampeonato = @IDCampeonato
			AND NumJogo = @NumJogo
			
			IF @RowCount = 0
			BEGIN
			
			EXEC A_ADD_Apostar @IDUtilizador,@IDCampeonato, @IDJornada, @NumJogo, NULL, NULL
			
			END		

			FETCH NEXT FROM TratementoJornada 

			INTO @IDCampeonato,@IDJornada,@NumJogo,@IDUtilizador
			END 

			CLOSE TratementoJornada
			DEALLOCATE TratementoJornada
			
			COMMIT TRAN
			
		END TRY
		BEGIN CATCH

				ROLLBACK TRAN

		END CATCH
END